#ifndef BINARY_TREE_H
#define BINARY_TREE_H
struct node;
typedef struct node* binary_tree;
typedef binary_tree position;
int getElment(position p);
position getLeftson(position p);
position getRightson(position p);
binary_tree create(int length, int* elements);
position find(int need_element, binary_tree b_t);
position findbyrecursion(int need_element, binary_tree b_t);
void print(binary_tree b_t);
int getNodeNum(binary_tree b_t);
void levelPrint(binary_tree b_t);
int Depth(binary_tree b_t);
void delete_tree(binary_tree b_t);
void Convert2list(binary_tree b_t, position &head, position &tail);
int getNodeNum4n(binary_tree b_t, int level);
int gettreeleveas(binary_tree b_t);
int getFullNodes(binary_tree b_t);
#endif